﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Conexion;
using System.Data.SqlClient;
using AccesoDatos.Objetos;

namespace AccesoDatos.Manejador
{
    public class Manejador_Empleado_Detalle
    {
        ClsConexion conexion = new ClsConexion();
        public int id_actual;
        public DateTime fecha;
        public bool GuardaDetalles(int id, string nss, string curp, int donador, string alergias, string contacto, string contacto_telefono, string direccion, DateTime fecha_nacimiento, string lugar_nacimiento, string telefono, string celular, string correo, string cantidad_nss ) {

            try
            {
                List<ClsParametros> lista = new List<ClsParametros>();
                lista.Add(new ClsParametros("@Id", id.ToString())); 
	            lista.Add(new ClsParametros("@Nss", nss));
	            lista.Add(new ClsParametros("@Curp", curp));
	            lista.Add(new ClsParametros("@Donador", donador.ToString()));
	            lista.Add(new ClsParametros("@Alergias",alergias));
	            lista.Add(new ClsParametros("@Contacto",contacto));
	            lista.Add(new ClsParametros("@Contacto_telefono", contacto_telefono));
	            lista.Add(new ClsParametros("@Direccion",direccion.ToString()));
                lista.Add(new ClsParametros("@Fecha_nacimiento", fecha_nacimiento.ToShortDateString()));
                lista.Add(new ClsParametros("@Lugar_nacimiento", lugar_nacimiento));
                lista.Add(new ClsParametros("@Telefono",telefono));
                lista.Add(new ClsParametros("@Celular",celular));
                lista.Add(new ClsParametros("@correo", correo));
                lista.Add(new ClsParametros("@cantidad_nss", cantidad_nss));
                DataTable datos = conexion.Datatable_standart("sp_RH_Empleado_Add_catEmpleado_Detalles", lista);
                DataRow[] array = new DataRow[datos.Rows.Count];
                datos.Rows.CopyTo(array, 0);
                object[] Info = datos.Rows[0].ItemArray;
                id_actual = int.Parse(Info[0].ToString().Trim());
                fecha = DateTime.Parse(Info[1].ToString().Trim());
                return true; 
            }
            catch {
                return false;
            
            }
        }
        public objRH ConsultaDetalles(int id){

            try
            {
                objRH obj = new objRH();
                List<ClsParametros> lista = new List<ClsParametros>();
                lista.Add(new ClsParametros("@ID", id.ToString()));
                DataTable X = conexion.Datatable_standart("sp_RH_Empleado_Consulta_catEmpleado_Detalle", lista);
                DataRow[] array = new DataRow[X.Rows.Count];
                X.Rows.CopyTo(array, 0);
                object[] Info = X.Rows[0].ItemArray;

                obj.Nss = Info[1].ToString().Trim();

               obj.Curp = Info[2].ToString().Trim();
               obj.Contacto = Info[5].ToString().Trim();
                //obj.Donador = Info[3].ToString().Trim();
                obj.Alergias = Info[4].ToString().Trim();
               
                obj.Contacto_Telefono = Info[6].ToString().Trim();
                obj.Direccion = Info[8].ToString().Trim();
                obj.Fecha_Nacimiento = DateTime.Parse(Info[9].ToString().Trim());
                obj.Lugar_Nacimiento = Info[10].ToString().Trim();
                obj.Telefono = Info[11].ToString().Trim();
                obj.Celular = Info[12].ToString().Trim();
                obj.Correo = Info[13].ToString().Trim();
                obj.Cantidad_SeguroS = Info[14].ToString().Trim();
                return obj;
            }
            catch { return null; }
        }
        public bool ModificaDetalles(int id, string nss, string curp, int donador, string alergias, string contacto, string contacto_telefono, string direccion, DateTime fecha_nacimiento, string lugar_nacimiento, string telefono, string celular, string correo, string cantidad_nss)
        {
            try
            {
                List<ClsParametros> lista = new List<ClsParametros>();
                lista.Add(new ClsParametros("@ID", id.ToString()));
                lista.Add(new ClsParametros("@nss", nss));
                lista.Add(new ClsParametros("@curp", curp));
                lista.Add(new ClsParametros("@donador", donador.ToString()));
                lista.Add(new ClsParametros("@alergias", alergias));
                lista.Add(new ClsParametros("@contacto", contacto));
                lista.Add(new ClsParametros("@contacto_telefono", contacto_telefono));
                lista.Add(new ClsParametros("@direccion", direccion.ToString()));
                lista.Add(new ClsParametros("@nacimiento", fecha_nacimiento.ToShortDateString()));
                lista.Add(new ClsParametros("@lugar", lugar_nacimiento));
                lista.Add(new ClsParametros("@telefono", telefono));
                lista.Add(new ClsParametros("@celular", celular));
                lista.Add(new ClsParametros("@correo", correo));
                lista.Add(new ClsParametros("@cantidad_nss", cantidad_nss));
                DataTable datos= conexion.Datatable_standart("sp_RH_Empleado_Modifica_catEmpleado_Detalles", lista);
                DataRow[] array = new DataRow[datos.Rows.Count];
                datos.Rows.CopyTo(array, 0);
                object[] Info = datos.Rows[0].ItemArray;
                fecha = DateTime.Parse(Info[0].ToString().Trim());
                return true;
            }
            catch
            {
                return false;
            }
        }
        public DataTable ListaDetalles(string id_sucursal)
        {

            List<ClsParametros> lista = new List<ClsParametros>();

            lista.Add(new ClsParametros("@id_sucursal", id_sucursal));
            DataTable X = conexion.Datatable_standart("sp_RH_Empleado_Lista_Detalles",lista);
            DataColumn columna = new DataColumn();
            columna.ColumnName = "Nombre_apellidos";
            columna.Expression = string.Format("nombre +' '+ apellidos");
            X.Columns.Add(columna);
            return X;
        }
    }
   
}
